package cn.fl.etc.transform;

import cn.fl.etc.vo.EtcLvlRecTraceVO;
import cn.lionbridgecapital.loan.model.dto.etc.EtcLvlRecTraceDTO;
import cn.lionbridgecapital.loan.model.utils.CollectionUtils;

import java.util.ArrayList;
import java.util.List;

/**
 * @类名称 EtcLvlRecTraceVOTransform
 * @类描述
 * @作者 yl
 * @创建时间 2020年10月12日 10时32分
 * @版本 1.00
 * @修改记录 <pre><pre>
 */
public class EtcLvlRecTraceVOTransform {

    /**
     * DTO 转  VO
     * @param po EtcLvlRecTraceDTO
     * @return EtcLvlRecTraceVO
     */
    public static EtcLvlRecTraceVO baseToVO(EtcLvlRecTraceDTO dto) {
        EtcLvlRecTraceVO  vo = null;
        if (dto != null) {
            vo = new EtcLvlRecTraceVO();
            vo.setId(dto.getId());
            vo.setUsrId(dto.getUsrId());//用户id
            vo.setZxCreCode(dto.getZxCreCode());//征信授权书合同号
            vo.setZxCreTm(dto.getZxCreTm());//签署征信授权书时间
            vo.setRskLvlCd(dto.getRskLvlCd());//狮桥评级
            vo.setRskLvlTm(dto.getRskLvlTm());//获取狮桥评级时间
            vo.setRskLvlFidId(dto.getRskLvlFidId());//狮桥分查询id
            vo.setIsDel(dto.getIsDel());//是否删除，1删除，0未删除
            vo.setCstId(dto.getCstId());//客户ID
            vo.setCstNm(dto.getCstNm());//客户名称
            vo.setCertNo(dto.getCertNo());//注册证件号
            vo.setMp(dto.getMp());//手机号
            vo.setSource(dto.getSource());//数据来源(H5,AD)
            vo.setScoreType(dto.getScoreType());//狮桥分类型（day：日卡，week：周卡）
            vo.setErrorRemark(dto.getErrorRemark());//错误描述
            vo.setVerifyMp(dto.getVerifyMp());//验证手机号

            vo.setCrtTm(dto.getCrtTm());//创建时间
            vo.setCrtUsrId(dto.getCrtUsrId());//创建人
            vo.setMdfTm(dto.getMdfTm());//修改时间
            vo.setMdfUsrId(dto.getMdfUsrId());//修改人
        }
        return vo;
    }

    /**
     * VO 转 DTO
     * @param dto EtcLvlRecTraceVO
     * @return EtcLvlRecTraceDTO
     */
    public static EtcLvlRecTraceDTO baseToDTO(EtcLvlRecTraceVO vo) {
        EtcLvlRecTraceDTO dto = null;
        if (vo != null) {
            dto = new EtcLvlRecTraceDTO();
            dto.setId(vo.getId());
            dto.setUsrId(vo.getUsrId());//用户id
            dto.setZxCreCode(vo.getZxCreCode());//征信授权书合同号
            dto.setZxCreTm(vo.getZxCreTm());//签署征信授权书时间
            dto.setRskLvlCd(vo.getRskLvlCd());//狮桥评级
            dto.setRskLvlTm(vo.getRskLvlTm());//获取狮桥评级时间
            dto.setRskLvlFidId(vo.getRskLvlFidId());//狮桥分查询id
            dto.setIsDel(vo.getIsDel());//是否删除，1删除，0未删除
            dto.setCstId(vo.getCstId());//客户ID
            dto.setCstNm(vo.getCstNm());//客户名称
            dto.setCertNo(vo.getCertNo());//注册证件号
            dto.setMp(vo.getMp());//手机号
            dto.setSource(vo.getSource());//数据来源(H5,AD)
            dto.setScoreType(vo.getScoreType());//狮桥分类型（day：日卡，week：周卡）
            dto.setErrorRemark(vo.getErrorRemark());//错误描述
            dto.setVerifyMp(vo.getVerifyMp());//验证手机号

            dto.setCrtTm(vo.getCrtTm());//创建时间
            dto.setCrtUsrId(vo.getCrtUsrId());//创建人
            dto.setMdfTm(vo.getMdfTm());//修改时间
            dto.setMdfUsrId(vo.getMdfUsrId());//修改人
        }
        return dto;
    }

    /**
     * DTO 转  VO
     * @param po EtcLvlRecTraceDTO
     * @return EtcLvlRecTraceVO
     */
    public static EtcLvlRecTraceVO toVO(EtcLvlRecTraceDTO dto) {
        EtcLvlRecTraceVO  vo = baseToVO(dto);
        //设置自定义扩展属性
        return vo;
    }

    /**
     * VO 转 DTO
     * @param dto EtcLvlRecTraceVO
     * @return EtcLvlRecTraceDTO
     */
    public static EtcLvlRecTraceDTO toDTO(EtcLvlRecTraceVO vo) {
        EtcLvlRecTraceDTO dto = baseToDTO(vo);
        //设置自定义扩展属性
        return dto;
    }

    /**
     * DTO集合 转 VO集合
     * @param List<EtcLvlRecTraceDTO>
     * @return List<EtcLvlRecTraceVO>
     */
    public static List<EtcLvlRecTraceVO> toVOList(List<EtcLvlRecTraceDTO> list) {
        List<EtcLvlRecTraceVO>  voList = new ArrayList<EtcLvlRecTraceVO>();
        if(CollectionUtils.isNotEmpty(list)){
            for (EtcLvlRecTraceDTO dto : list) {
                voList.add(toVO(dto));
            }
        }
        return voList;
    }

    /**
     * VO集合 转 DTO集合
     * @param list List<EtcLvlRecTraceVO>
     * @return List<EtcLvlRecTraceDTO>
     */
    public static List<EtcLvlRecTraceDTO> toDTOList(List<EtcLvlRecTraceVO> list) {
        List<EtcLvlRecTraceDTO>  dtoList = new ArrayList<EtcLvlRecTraceDTO>();
        if(CollectionUtils.isNotEmpty(list)){
            for (EtcLvlRecTraceVO vo : list) {
                dtoList.add(toDTO(vo));
            }
        }
        return dtoList;
    }
}
